Media player system

ABSTRACT

A method, system, and computer readable medium are provided for the media player system. The present invention provides for associating content with media and integrating the content associated with media into a pane displayed by a media player. The media player system includes a shuttle component to obtain provider data, a first database component to store content and associated media metadata, a user interface to manage the first database user interface, an input component to insert provider data into the first database, and an output component to generate pane and search files. The media player system includes a user interface to display a pane for the media with associated content. The pane includes a media display component to display streamed media and a content display component to display content associated with the streamed media.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a divisional of U.S. patent application Ser. No.10/173,291, filed Jun. 14, 2002, priority from the filing date of whichis hereby claimed under 35 U.S.C. § 120.

FIELD OF THE INVENTION

The present invention generally relates to the field of software. Morespecifically, the present invention relates to publishing media andcontent across a network.

BACKGROUND

The Internet is enjoying widespread popularity today, in big part due tothe ability to view, listen, and interact with rich-media, includingonline movies, music, and games. Today's media players, such as theWindows Media Player marketed by Microsoft Corporation of Redmond,Wash., and the RealOne Player marketed by RealNetworks Incorporated, ofSeattle, Wash., are easy to use and enable users to enjoy the full rangeof digital media activities, including playback of CD audio, streaming,and downloaded audio and video.

Although rich media files can be accessed by downloading through alow-speed Internet connection, the viewing and/or listening experienceis much improved by streaming and fast Internet connections. Streamingmedia involves encoding or digitizing the media files and sending themto servers as a series of small data packets that may be viewed by theuser in a real-time fashion through the use of a media player, like theMicrosoft® Windows Media Player. The rich media and high-speed Internetconnections now available make interactive ads, games, and entertainmenta highly sought after commodity. Rich media with advanced multimediacharacteristics also provide for effective interactive advertising.

As the demand and audience for high-speed rich media grow, the abilityto smartly and efficiently target advertising content to viewers ofhigh-speed rich media is becoming increasingly significant. Because ofprivacy and security issues of concern among users, advertising based onuser profiles is not desirable. In light of the above, a significantneed exists for a media player system that enables online rich mediaadvertising and marketing campaigns targeting an audience based on thecontent of the media being accessed. An efficient streamlined system isneeded to associate and manage content and media provider relationshipsacross the network.

SUMMARY

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This summary is not intended to identify key features ofthe claimed subject matter, nor is it intended to be used as an aid indetermining the scope of the claimed subject matter.

The present invention addresses the above needs by providing a mediaplayer system. Generally described, the media player system provides forassociating content with media and providing a pane that displays mediaand the content associated with the media.

In accordance with a first aspect of the present invention, a computersystem for associating content with media and integrating the contentassociated with media into a media player is provided. The computersystem includes a server input component, a first server databasecomponent, and a server output component. The server input component isoperable to obtain content associated with media and insert the contentassociated with media into the first server database. The first serverdatabase is operable to store content associated with media metadata.The server output component is operable to obtain the content associatedwith media from the first server database and generate content filesused to create a pane to display content with associated media.

In accordance with another aspect of the present invention, acomputer-implemented method for associating content with media andintegrating the content associated with media into a media player isprovided. The computer obtains data, including content associated withmedia, and stores data on a drop server. Upon storing the data, thecomputer inserts the data, including content associated with media, intoa first server database. The computer generates content files from thedata including content associated with media data in the first serverdatabase. The content files are used for creating a pane for displayingcontent associated with media.

In accordance with yet another aspect of the present invention, a methodfor providing a user interface for displaying streamed media and contentassociated with the streamed media in a computer system having a mediaplayer embedded in a browser is provided. The computer receives a userrequest to display streamed media with associated content. The computerobtains the requested streamed media. The computer obtains the contentassociated with the streamed media. The computer uses the media playerembedded in the browser to display the requested media with theassociated content.

In accordance with an additional aspect of the present invention, acomputer system for displaying streamed media and content associatedwith the streamed media is provided. The computer system includes aserver media player component operable to be downloaded and embedded ina client component to display streamed media and content associated withthe streamed media. The computer system includes a server databaseoperable to store content associated with said streamed media. Thecomputer system includes a server output component operable to generatecontent files used by the media player to display the content associatedwith the streamed media. The computer system includes a serverelectronic document component operable to receive a request from saidclient component for said streamed media and associated content. Inresponse to receiving the request, the server application causes themedia player to be downloaded and embedded in the client component todisplay the streamed media and said associated content.

In accordance with a further aspect of the present invention, acomputer-readable medium having a data structure stored thereon for usein associating content with media and integrating the content associatedwith media into a media player is provided. The data structure includesa control data element indicative of job control information and one ormore item data elements that are indicative of information about an itemof content associated with media provided. The data structure alsoincludes one or more media elements that are indicative of mediametadata and associated with said item of content. The data structure isused in inserting data including content associated with media into adatabase. The data structure is also used in generating content filesfor use by a media player to display said media with said associatedcontent.

In accordance with a further aspect of the present invention, acomputer-readable medium having a data structure stored thereon for usein associating content with media and integrating the content associatedwith media into a search database used in searching for contentassociated with media is provided. The data structure includes a controldata element indicative of job control information and one or more sitedata elements that are indicative of information about a site foraccessing content associated with media provided in the search files.The data structure includes one or more media elements that areindicative of information about the media and associated content for thesite. The data structure is used to generate search files from adatabase storing content associated with media. The search files arebased on the data structure and are sent to a search database used insearching for said content associated with media.

DESCRIPTION OF THE DRAWINGS

The foregoing aspects and many of the attendant advantages of thisinvention will become more readily appreciated as the same become betterunderstood by reference to the following detailed description, whentaken in conjunction with the accompanying drawings, wherein:

FIG. 1 is a block diagram showing an illustrative operating environmentfor an actual embodiment of the present invention;

FIG. 2 is a block diagram showing an illustrative architecture for themedia player system;

FIGS. 3A-3D are flow diagrams illustrating the logic utilized by anexemplary embodiment of the media player system;

FIGS. 4A-4D are block diagrams showing illustrative data structuresutilized by an exemplary embodiment of the media player system;

FIGS. 5A-5B are block diagrams showing illustrative data structuresutilized by an exemplary embodiment of the media player system;

FIG. 6 is a screen diagram showing an illustrative pane screen displayedby an exemplary embodiment of the media player system;

FIG. 7 is a screen diagram showing an illustrative screen display ofsearch results from a search database; and

FIGS. 8A-8F are screen diagrams showing illustrative screen displaysprovided by an exemplary embodiment of the user interface applicationfor the database.

DETAILED DESCRIPTION

As briefly described above, the present invention provides methods,systems, and computer-readable media for targeting ads and content basedon the media being streamed to the user. Referring now to the figures, arepresentative operating environment for an actual embodiment of thepresent invention is illustrated by FIG. 1. The illustrated computingsystem environment is only one example of a suitable computingenvironment and is not intended to suggest any limitation as to thescope of use or functionality of the invention. Neither should thecomputing environment be interpreted as having any dependencyrequirement relating to any one or combination of components illustratedin the exemplary operating environment.

The invention is operational in numerous other general purposes orspecial computing environments or configurations. Examples of well knowncomputing systems, environments, and/or configurations that may besuitable for implementing the invention include, but are not limited to,personal computers, server computers, laptop devices, multiprocessorsystems, microprocessor-based systems, network PCs, minicomputers,mainframe computers, distributed computing environments that include anyof the above systems, or the like.

Referring now to FIG. 1, an illustrative computer system for the mediaplayer system is described. The many components of a personal computersystem that a client and server computer may consist of are illustratedin FIG. 1 as computer 110 and may include, but are not limited to, aprocessing unit 120, a system memory 130, and a system bus 121 thatcouples various system components, including the system memory, to theprocessing unit 120. The system bus 121 may be any of several types ofbus structures, including a memory bus or memory controller, aperipheral bus, and a local bus using any of a variety of busarchitectures. By way of example, and not limitation, such architecturesinclude Industry Standard Architecture (ISA) bus, Micro ChannelArchitecture (MCA) bus, Enhanced ISA (EISA) bus, Video ElectronicsStandards Association (VESA) local bus, and Peripheral ComponentInterconnect (PCI) bus, also known as Mezzanine bus. Computer 110typically includes a variety of computer-readable media.Computer-readable media can be any available media that can be accessedby computer 110 and include both volatile and nonvolatile media andremovable and nonremovable media. By way of example, and not limitation,computer-readable media may comprise computer storage media andcommunication media. Computer storage media include both volatile andnonvolatile and removable and nonremovable media implemented in anymethod or technology for storage and information, such ascomputer-readable instructions, data structures, program modules, orother data. Computer storage media include, but are not limited to, RAM,ROM, EEPROM, flash memory or other memory technology, CD-ROM, digitalversatile disk (DVD) or other optical disk storage, magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devices,or any other medium that can be used to store the desired informationand that can be assessed by computer 110. Communication media typicallyembody computer-readable instructions, data structures, program modules,or other data in the modulated data signal, such as a carrier wave orother transport mechanism, and include any information delivery media.The term “modulated data signal” means a signal that has one or more ofits characteristics set or changed in such a manner as to encodeinformation in the signal. By way of example, and not limitation,communication media include wired media, such as a wired network ordirect-wired connection, and wireless media, such as acoustic, RF,infrared, and other wireless media. Combinations of any of the aboveshould also be included within the scope of computer-readable media.

The system memory 130 includes computer storage media in the form ofvolatile and/or nonvolatile memory, such as read-only memory (ROM) 131and random-access memory (RAM) 132. A basic input/output system 133(BIOS) contains basic routines that help to transfer information betweenelements within computer 110, such as program modules that areimmediately accessible to and/or presently being operated on byprocessing unit 120. By way of example, and not limitation, FIG. 1illustrates operating system 134, application programs 135, otherprogram modules 136, and program data 137.

The computer 110 may also include other removable/nonremovable,volatile/non-volatile computer storage media. By way of example only,FIG. 1 illustrates a hard disk drive 141 that reads from or writes tononremovable, nonvolatile magnetic media, a magnetic disk drive 151 thatreads from or writes to a removable, nonvolatile magnetic disk 152, andan optical disk drive 155 that reads from or writes to a removable,nonvolatile optical disk 156, such as CD-ROM or other optical media.Other removable/nonremovable, volatile/nonvolatile computer storagemedia that can be used in the exemplary operating environment include,but are not limited to, magnetic tape cassettes, flash memory cards,digital versatile disk, digital videotape, solid state RAM, solid stateROM, and the like. The hard disk drive 141 is typically connected to thesystem bus 121 through a nonremovable memory interface such as interface140, and magnetic disk drive 151 and optical disk drive 155 aretypically connected to the system bus 121 by a removable memoryinterface, such as interface 150.

The drives and their associated computer storage media, discussed aboveand illustrated in FIG. 1, provide storage of computer-readableinstructions, data structures, program modules, and other data for thecomputer 110. In FIG. 1, for example, hard disk drive 141 is illustratedas storing operating system 144, application programs 145, other programmodules 146, and program data 147. Note that these components can eitherbe the same as or different from operating system 134, applicationprograms 135, other program modules 136, and program data 137. Operatingsystem 144, application programs 145, other program modules 146, andprogram data 147 are given different numbers here to illustrate that, ata minimum, they are different copies. A user may enter commands andinformation to the computer through input devices such as a keyboard 162and pointing device 161, commonly referred to as a mouse, trackball, ortouch pad. Other input devices (not shown) may include a microphone,joystick, game pad, satellite dish, scanner, or the like. These andother input devices are often connected to the processing unit 120through a user-input interface 160 that is coupled to the system bus,but may be connected by other interface and bus structures, such as aparallel port, game port, or universal serial bus (USB). A monitor 191or other type of display device is also connected to the system bus 121via an interface, such as a video interface 190. In addition to themonitor, computers may also include other peripheral output devices,such as speakers 197 and printer 196, which may be connected through anoutput peripheral interface 195.

As discussed earlier, one embodiment of the present invention operatesin a networked environment using logical connections to one or moreremote computers, such as a remote computer. The remote computer may bea personal computer, a server, a router, a network PC, a peer device, orother common network node, and typically includes many or all of theelements described above relative to the computer 110, although only amemory storage device 181 has been illustrated in FIG. 1. The logicalconnections depicted in FIG. 1 include a local area network (LAN) 171and a wide area network (WAN) 173, but may also include other networks.Such networking environments are commonplace in offices, enterprise-widecomputer networks, intranets, and the Internet.

When used in a LAN networking environment, the computer 110 is connectedto the LAN 171 through a network interface or adapter 170. When used ina WAN networking environment, the computer 110 typically includes amodem 172 or other means for establishing communications over the WAN173, such as the Internet. The modem 172, which may be internal orexternal, may be connected to the system bus 121 via the user-inputinterface 160, or other appropriate mechanism. In a networkedenvironment, program modules depicted relative to the computer 110, orportions thereof, may be stored in the remote memory storage device. Byway of example, and not limitation, FIG. 1 illustrates remoteapplication programs 185 as residing on memory storage device 181. Itwill be appreciated that the network connections shown are exemplary,and other means of establishing a communication link between thecomputers may be used.

Having described an exemplary computing environment in which the presentinvention may be practiced, attention is directed to FIG. 2, whichschematically depicts components of an illustrative embodiment of themedia player system. The media player system is preferably used with ahigh-speed Internet connection, which makes accessing video andinteractive media more enjoyable. While the media player systemperformance will be best with a high-speed Internet connection, themedia player system is not limited for use by users with a high-speedInternet connection. The media player system of the present inventionfully supports users with a low-speed Internet connection, such as aslower dial-up connection. As those of ordinary skill in the art willreadily appreciate, the present invention may be practiced utilizing anyspeed or type of Internet connection. The term high-speed is used torefer to a high-speed connection to the Internet, such as a cable modem,a Digital Subscriber Line (DSL) or LAN connection. The DSL is a digitalcommunications technology that can provide high-speed transmissions overstandard copper telephone wiring. The local area network may be abroadband network on which transmissions travel as radio frequencysignals over separate inbound and outbound channels. Stations on abroadband network are connected by coaxial or fiber-optic cable, whichcan carry data, voice, and video simultaneously over multipletransmission channels that are distinguished by frequency. A broadbandnetwork is capable of high-speed operation (20 megabits or more).Although the present invention performs optimally with a high-speedInternet connection, such as the exemplary high-speed Internetconnections described above, the advantages and benefits of the mediaplayer system of present invention are fully realized utilizing anyspeed or type of Internet connection.

In accordance with one embodiment of the present invention, the mediaplayer system 200 includes provider data 202. In one embodiment, theprovider data is external feeds. For example, the provider data feedscan be batch extensible markup language (“XML”) feeds from contentproviders for content items. The media player system also includes ashuttle component for picking up the provider data and dropping off theprovider data. The media player system includes a database 206 forstoring items used to generate the pane content. The database storesinformation about each piece of content and the associated mediametadata. The database 206 includes information to be supplied to thesearch database 214 for searching for content and for generating eachpiece of content on the pane 212. The media player system also includesthe user interface 208 for use as a tool to allow content editors tocreate, modify, and publish individual pieces of content associated withmedia. The information stored in the database 206 is used to generatecontent files 210 for displaying the pane 212. The database 206 is alsoused to generate the search files for sending to the search database214. The search database 214 is used for searching for contentassociated with media. The user searches for content using the searchdatabase 214, which generates search results 216. The search results 216provide one or more links to a pane that include content associated withmedia. When the user clicks on a content link included in the searchresults 216, the pane 212 is displayed.

FIG. 2 illustrates only one example of a suitable architecture for themedia player system and is not intended to suggest any limitation as tothe scope of use or functionality of the present invention. Thoseskilled in the art will appreciate that the present invention may bepracticed utilizing various other media player system architectures,which vary from that illustrated in FIG. 2.

FIG. 3A illustrates a routine 300 for performing the method used by themedia player system for associating content with media and for providinga pane for displaying the content and the associated media. The routine300 begins at block 302 and proceeds to block 304 where a shuttleprocess is performed to obtain provider data 202. The routine 300proceeds to decision block 306 where a test is made to determine whetherany provider data has been received. If it is determined that providerdata has been received, routine 300 proceeds to block 308 where an inputprocess is performed to add the provider data to the database 206. Afterperforming the input process, routine 300 proceeds to block 310. Atblock 310, routine 300 performs an output process to generate pane andsearch files. After performing the output process, routine 300 proceedsto cycle back to block 304 where the above steps are repeated. If atdecision block 306 it was determined that provider data had not beenreceived, routine 300 cycles back to block 304 and the above steps arerepeated.

FIG. 3B illustrates the shuttle process 312. The shuttle process 312starts at block 314 and proceeds to block 316, where the provider serveris checked for provider data. The shuttle process proceeds to decisionblock 318 where a test is made to determine if any provider data isavailable on the provider server. If it is determined that there isprovider data at decision block 318, the shuttle process proceeds toblock 320. If it is determined that no provider data is available atdecision block 318, the shuttle process 312 cycles back to block 316 tocheck for provider data again. At block 320, the shuttle process 312obtains the provider data from the provider server. The shuttle processproceeds to block 322 to store the provider data on a drop server. Afterstoring the provider data on the drop server, the shuttle process 312proceeds to block 324 and initiates the input process shown in FIG. 3C.After triggering the input process, the shuttle process 312 cycles backto block 316 and the above steps are repeated.

FIG. 3C illustrates the input process 326. The input process 326 beginsat block 328 and proceeds to block 330, where the provider data 202 isretrieved from the drop server. After retrieving the provider data, theinput process 326 proceeds to block 332. At block 332, the input process326 parses and validates the provider data to ensure compliance with aninput schema, such as the exemplary input schema 400 shown in FIGS.4A-4C and discussed below. After parsing and validating the providerdata, the input process 326 proceeds to block 334. At block 334, theinput process inserts item information from the provider data 202 intothe database 206. After inserting the item information into thedatabase, the input process 326 is completed.

FIG. 3D illustrates the output process 340. The output process 340begins at block 342 and proceeds to block 344 where data is obtainedfrom the database 206. After obtaining the data from the database,output process 340 proceeds to block 346. At block 346, the outputprocess generates content files using a schema, such as the exemplaryschema 400 shown in FIGS. 4A-4C and discussed below. After generatingcontent files for displaying the pane, the output process 340 proceedsto block 348. At block 348, the output process creates a directorystructure for the items. In one embodiment of the present invention, theoutput process creates a directory structure that corresponds to thestructure illustrated by the schema shown in FIGS. 4A-4C and discussedbelow. After creating the directory structure for the items, the outputprocess proceeds to block 350 where the output process adds the contentfiles to the directory structure.

After adding the content files to the directory structure, outputprocess 340 proceeds to block 352. At block 352, output process 340generates search files for the content and associated media. In anexemplary embodiment of the present invention, the output processcreates the search files using a search schema such as that shown inFIGS. 5A-5B and discussed below. After generating the search files, theoutput process proceeds to block 354. At block 354, the output processadds the search files to the directory structure. After adding thesearch files to the directory structure, the output process 340 proceedsto block 356. At block 356, the output process sends the search files toa search database. After the search information is sent to the database,the output process 340 proceeds to block 358, and the output process iscompleted.

FIGS. 4A-4D and 5A-5B illustrate schemas utilized by the media playersystem in accordance with an exemplary embodiment of the presentinvention. The schemas shown in FIGS. 4A-4D and 5A-5B illustrate thedata structure used by an exemplary embodiment of the present invention.In one embodiment of the present invention, an XML schema is used toimplement the data structures shown in FIGS. 4A-4D and 5A-5B. An XMLschema is a specification that provides a common base for datadescription and validation in XML environments. The XML schema replacesDocument Type Definition (DTD) by defining a greater set of data typeswith more explicit data descriptions. The XML schema has become astandard for the description and encoding of data and is well known bythose of ordinary skill in the art. In the illustrated embodiment, themedia player system 200 utilizes the input schema 400 shown in FIGS.4A-4D. The schema 400 is a hierarchically organized set of informationwith an uppermost level root 402 and three top level elements. The firsttop-level element is for control information 403 and includes jobcontrol information. The second top-level element is for itemsinformation 412 and includes information for each content item 413 beingimported from the provider data 202. The third top-level element is forsummary information 415 and includes summary information.

In an exemplary embodiment of the present invention, the ControlInformation 403 includes a drop number 404, drop date 405, creator 406,version of schema 407, job type 408, input type 409, path 410, andUniform Resource Locator (URL) prefix 411. The drop number 404 is anincremental number indicating the sequence of provider drops for anitem. The drop date 405 is the date when the provider data is available.For example, in one embodiment the drop date is the date when theprovider batch XML data is stored on a drop server and made available tothe media player system. The creator 406 specifies the name of theprovider supplying the data. In one embodiment of the present invention,the creator name is assigned by the media player system 200. The version407 specifies the version number of the schema format with which theprovider data is compatible. The job type 408 indicates whether the dropis full or incremental. In one embodiment of the present invention, whenthe input type is incremental, the job-type element includes informationindicating a previous drop date and a previous drop number. The inputtype 409 differentiates batch input from user interface input. In oneembodiment of the present invention, the default input type is batchinput from the provider stored on the drop server. A user interfaceinput type indicates that an override has been specified via the userinterface. The override will cause the content specified by the user tobe used in place of the provider content. In one embodiment, the path410 is a standard File Transfer Protocol (“FTP”) path that provides thepath for accessing media files that are to be downloaded.

The summary information 415 includes summary and statistics information,such as the number of items 416 when the current drop is processed. Inanother exemplary embodiment, the summary information 415 also includesvalidation information.

FIG. 4B illustrates an exemplary data structure for an item 413 forinformation about an item of content that is associated with media andis being obtained from the provider data 202. In one embodiment, eachitem 413 includes an item ID 420, an update status 421, and associatedmedia 422. The item ID 420 is a value that is used to identify the item.The item ID 420 is the same value for all drops for the same item, andthe item ID 420 is unique across all items in the drop. The updatestatus 421 for incremental drops and the default is unchanged. In oneembodiment, the media 422 includes a media start date 423, a media enddate 424, create date media 425, last modified date 426, a hide ads 427,duration 428, title 429, release date 430, caption 431, headline 432,markers 433, images 434, copyright 435, site type 436, media files 437,categories 446, and content 454. The media start date 423 and the mediaend date 424 indicate when the media for the item is available forincluding in search results 216. The create date 425 is the date theitem was created in the database 206. The last modified date 426 is thedate the item information was last modified in the database 206. Thehide ads 427 indicates that ads should not be displayed with the media422. The duration 428 indicates the time needed to play the media 422.The title 429 is the title of the media 422. The release date 430 is thedate the media 422 was released in the market. In one embodiment, a hiderelease date element is also included in the schema to indicate whetherthe release date should be displayed. The caption 431 is a caption forthe media 422. The headline 432 is the media headline. The markers 433provide markers and/or trigger information such as start, end, andtarget information. The images 434 provide information about the imagesspecific to the media 422. The copyright 435 includes copyrightinformation for the media 422. The site type 436 includes informationabout the type of site for the media 422 For example, in one embodimentthe site type 436 may be empty or may have information indicating aparticular type of site such as a featured site, a Web directory site, aWeb page site, and a site that includes a personal authenticationservice, such as the passport services from Microsoft Corporation ofRedmond, Wash.

The media files 437 element includes information about the associatedmedia files. In an exemplary embodiment of the present invention, themedia files hold information for each of a plurality of media files. Forexample, the media file 440 information includes media type 441, mediadownload 442, media bandwidth 443, and media filename 444 elements. Themedia type 441 indicates the type of the media file. For example, themedia file type may be an Advanced Streaming Format for a streamingmultimedia file containing text, graphics, sound, video, and animation.Alternatively, the media file type may be a sound file stored inwaveform (WAV) audio format. The media download 442 element indicateswhether media is to be played directly or is to be downloaded andplayed. The media bandwidth 443 indicates the streaming rate of themedia. The media filename 444 may be a full path, or just the file name,if File Transfer Protocol is being used. The categories 446 includeinformation about the categories name 448 of topics 450 that areassociated with the media 422.

FIG. 4C illustrates exemplary content 454 element for information aboutthe date sensitive content to be displayed on the pane 212. FIG. 4Cillustrates content information utilized in accordance with oneembodiment of the present invention. In the illustrated example shown inFIG. 4C, the content includes information about property ID 461, acontent start date 462, a content end date 463, a language 464, anoverride 465, text links 466, content data 467, and search information469. The content start date of content 462 indicates when the content isavailable for display on the pane 212. Likewise, the content end date463 indicates the last date the content date is available for display onthe pane 212. The language 464 indicates the language of the content.The override 465 indicates whether the user interface 208 was utilizedto specify content that is to override the batch input content from theprovider. The text links 466 are the links for display at the end of thedescription on the pane 212. The content data 467 is for informationidentifying the content data file. In the illustrated embodiment, thecontent data file is an XML file, and the content file informationincludes an identifier of an XML style sheet 468. The XML style sheetcontains formatting rules that are applied to an XML content data filereferencing the style sheet. XML style sheets are well known by those ofordinary skill in the art.

In one embodiment of the present invention, the search informationincludes a title 470, a short description 471, a long description 472, auniform resource locator (“URL”) 473, alternate text 474, text links475, image 476, and a collection of keywords 477. The title 470 is thetitle for the media 422. The short description 471 is the shortdescription for the media 422, such as a movie. The URL 473 is the URLaddress to the resource on the Internet where media 422 resides. If aURL prefix is defined, the URL prefix will be prepended to all URLs inthe drop. The alternate text 474 is the tool tip text that is to bedisplayed on the links or images mouse over. The keywords 477 are acollection of keywords for the content. In one embodiment, thecollection of keywords includes the value 478 for each keyword, ameasurement of the relevancy 479 of the keyword, such as a numberbetween 0 and 1, with 1 being the most relevant, and a definitive 480indicator.

In a preferred embodiment of the present invention, the same schema 400is utilized by the media player system 200 to generate the content filesas was utilized for importing provider data. In a preferred embodiment,the schema 400 includes the content data 467 element that provides dataused for generating the content files that in turn are used fordisplaying the pane 212. An exemplary data structure for the contentdate 467 is illustrated in FIG. 4D. Content includes a pane body 481element for information about the pane to be displayed with theassociated media 422.

The pane body 481 includes a background image 482, title 483, a URL 484,alternate text 485, description 486, picture 487, text links 488, actionitems 489, and provider information 490. The title 483 is the title tobe displayed on the body of the pane 212. The URL 484 is the URL if alink is required for the title. The alternate text 485 is the tool tiptext that is to be displayed on links or images mouse over. The picture487 is information about the media picture image. The text links 488 arethe links for display at the end of a description on the pane 212. Theaction items 489 provide information about the links displayed in thepane. In one embodiment of the present invention, the action itemsinformation may include a text link information, such as a teaser ortitle, an absolute link for the teaser, and alternate text for the link.The provider information 490 provides information about the providerlogos 492 and title 491 for display in the pane. The providerinformation 490 may include a title 491 and a logo 492. The providerlogo may include a link for a logo image, an absolute link for a logoclick, and tool tip text for the logo. In another exemplary embodimentof the present invention, the provider information may also include hottext links to be displayed on a pane.

FIGS. 5A-5B illustrate a search schema 500 utilized by the media playersystem 200 in accordance with one exemplary embodiment of the presentinvention. In the illustrated embodiment, the media player system 200uses the search schema 500 for generating search files to be sent to andstored on a server search database 214. FIG. 5A illustrates an exemplarysearch schema 501, which includes a root 502 element that includes atop-level control information 503 element for job control information, atop-level site information 509 element for sites information, and atop-level summary information 511 element for summary information, suchas the number of sites 512.

In the illustrated embodiment, the search schema control information 503element is similar to the control information in the schema 500 andincludes the drop number 504, drop date 505, creator 506, version 507,and job type 508. FIG. 5B illustrates an exemplary site 510, whichincludes an ID 520, and update status 521, and site data 522. The ID 520is the identification value for the site. In one embodiment, the ID forthe site value should be the same between drops and should be uniqueacross sites in the drop. The update status 521 is utilized forincremental job types. The site data 522 is the data for the site ifthis is the first instance of the site. The site data 522 includes thecreate date 523, last modified date 524, start date 525, end date 526,language 527, title 528, description 529, URL 530, sort key 531,alternate title 532, title path 533, ID path 534, keywords 535, sitetype 536, and media 537. The create date 523 is the date the data wascreated in the database 206, the last modified date 524 is the date thedata was last modified in the database 206. The start date 525 and enddate 526 are the dates the site is available. The title 528 is the titleto be displayed at the site and the description 529 is the descriptionto be displayed in the site. The URL 530 is the URL to the site. Thealternate title 532 is the tool tip text to be displayed on links orimages mouse over. The title path 533 is the lineage as category names.The ID path 534 is the lineage as category IDs. The keywords 535 are thecollection of keywords for the site.

The media 537 indicates that the site has media content. The searchinformation 538 indicates that the site is about a media type. Thesearch information includes title 539, short description 540, URL 541,alternate text 542, icon 543, picture 544, provider logos 545, textlinks 546, and action items 547. The media includes search information538 similar to the search information 469 in the schema 400. The title539 indicates the title or teaser for the search results. The shortdescription 540 is the description that comes below the teaser. The URL541 is the URL that appends to the URL prefix. The icon 543 is the iconinformation. The picture 544 is the information about the media image.The provider logos 545 provide information about the provider logos. Thetext links 546 are the links that go with the text on search results.The action items 547 are the information about the links that will bedisplayed on the pane 212.

The schemas illustrated in FIGS. 4A-4D and 5A-5B illustrate only oneexample of suitable schemas for the media player system 200 and are notintended to suggest any limitation as to the scope of user functionalityof the present invention. Those skilled in the art will readilyunderstand that the present invention may be practiced using variousother input schemas, output schemas, and search schemas that vary fromthose illustrated herein. For example, other embodiments of the presentinvention use various combinations of the data structures and elementsdescribed above. Still other embodiments of the present inventionutilize data structures and data elements in addition to those definedby the illustrative schemas described herein. One embodiment of thepresent invention utilizes the illustrated schemas, which define similardata structures for input processing, output processing, and searchprocessing for efficiency of operation of the media player system 200.The similar input, output, and search schemas streamline the dataprocessing efficiency and provide a unified approach to associatingcontent with media and displaying the content with associated media in apane.

FIG. 6 is a screen display 600 illustrating the representative windowgenerated by the media player system 200 of the present invention. Thescreen display 600 includes video content area 602 in which the mediaplayer displays video. The screen display 600 includes a link to theproperty or topic home site 604. The screen display 600 also includescontent teaser text 606. In another embodiment, the screen display mayinclude a content related image. The screen display 600 includes a linkto expanded content page 610. The screen display 600 includes actionitem links to related content 614. The screen display 600 also includeslinks to provider sites 616 and 622.

FIG. 7 is a screen display 700 illustrating the representative searchresults window provided by the media player system 200 of the presentinvention. The screen display 700 shown in FIG. 7 illustrates a searchresults Web page that includes content associated with media. In theillustrated search results shown in FIG. 7, the content displayed isassociated with media for the Grinch movie. The search results include atitle of the media that is a link 702 to the pane 212. The searchresults include an image 704 related to the media, which the user canclick through to navigate to the pane 212. The search results alsoinclude a related trailer content link 706 to the pane 212.Additionally, the search results provide a link 708 to the entertainmentproperty Web site associated with the media and content.

FIGS. 8A-8F illustrate representative screen displays generated by theuser interface component 208 for maintaining the database 206 of thepresent invention. The screen display 800 shown in FIG. 8A illustrates alist of properties. The list of properties includes entertainmentproperty 802 and communities property 804. The screen display alsoincludes a created date for indicating when the property was created.The screen display 820 shown on FIG. 8B illustrates a list of mediagenerated by the user interface 208. For example, screen display 820lists media 824 for the movie 102 Dalmatians. The media items listed inscreen display 820 are associated with the entertainment property 822.The media item 824 for 102 Dalmatians is provided by Filmspeed 826. Thescreen display 830 shown on FIG. 8C illustrates a representative list ofmedia details for the entertainment property 832 provided by the userinterface 208. The screen display 830 displays the media type 834, whichis the movie clips media type. The screen display 830 also includes afield for the start date 836 and the end date 838 for when the media isavailable. The screen display 830 also includes the create date field840 to indicate when the media item was added to the database. The mediadetails also include item title field 842, which is 102 Dalmatians. Thecaption 844 provides a caption “a spotless new tail is going to beunleashed.” Screen display 830 includes the media file URLs for thedifferent speeds of the media files. Screen display 830 also includesthe language field 849 and an aspect ratio field 850.

FIG. 8D illustrates representative screen displays generated by anexemplary embodiment of the user interface application 208 of thepresent invention. The screen display 860 includes a display of thecontent details for the entertainment property 862. The content detailsare for the item title 864 for the media 102 Dalmatians. The screendisplay 860 also includes the start date 866 and the end date 867 forthe content availability. The screen display 860 includes the contentinformation for display 868, including the background image, title, URL,alternate text, and description. The screen display 860 also includesthe picture information 869 for information about the media image.

FIG. 8E illustrates a representative screen display 870 generated by anexemplary embodiment of the user interface application 208 of thepresent invention. The screen display 870 includes a list of theproviders of the media and content. The screen display 870 indicatesthat the provider of the media and content is Filmspeed 872.

FIG. 8F illustrates a representative screen display 880 generated by anexemplary embodiment of the user interface application 208 of thepresent invention. The screen display 880 includes a list of the searchattributes. Screen display 880 illustrates the search information forthe entertainment property 882 and the item title 884 for 102Dalmatians. The screen display 880 includes a short description 886, thelong description 888, the alternate text 890, the picture URL 892 aswell as the key words 894.

With reference once again to FIG. 2, in an alternative embodiment of thepresent invention, the components of the media player system may beimplemented as distributed software components accessible via thecommunication network 116. An example of a distributed applicationdevelopment and execution platform is the Microsoft® .NET platform fromMicrosoft® Corporation of Redmond, Wash. Generally described, theMicrosoft® .NET platform is an application programming and executionplatform that provides write-once, compile-once, run-anywhereapplication development. Microsoft® .NET platform applications may becreated in any language as long as they are compiled by a compiler thattargets the Microsoft®.NET universal runtime (“URT”), also known as thecommon language runtime engine. Such a compiler compiles .NETapplications into intermediate language (“IL”), rather than directlyinto executable code.

To execute a .NET platform application, the compiled IL is interpreted,or “just-in-time” compiled, by the URT into native machine instructions.The native machine instructions can then be directly executed by theCPU. The Microsoft® .NET platform also includes a base library thatcomprises a large set of class libraries and services. These librariesand services provide access to the features of the URT, and otherhigh-level services, so that software developers do not have to code thesame services repeatedly. Although the present invention may beapplicable with regard to a .NET platform implementation, the presentinvention may also be implemented in alternative platform environments.

While illustrative embodiments have been illustrated and described, itwill be appreciated that various changes can be made therein withoutdeparting from the spirit and scope of the invention.

1. A computer system for displaying a pane including content associatedwith media being streamed to a user, the computer system comprising: (a)a media component operable to obtain and display streaming media; and(b) a content component operable to obtain and display content dataassociated with said streaming media by: (1) obtaining contentassociated with streaming media by: (i) determining if a provider servercontains content associated with streaming media; (ii) retrieving thecontent associated with streaming media from the provider server; (iii)parsing and validating the retrieved content associated with streamingmedia to ensure compliance with an input schema, the input schemacomprising a job control information element for job control informationand an items information element for items information, the job controlinformation element including a job type, the items information elementincluding information for each content item retrieved from the providerserver; and (iv) storing the parsed and validated content associatedwith streaming media in a content database; (2) generating search filesfor the content stored in the content database and associated withstreaming media by: (i) generating content files in accordance with aschema, the schema comprising a job control information element for jobcontrol information and an items information element for itemsinformation, the job control information element including a job type,the items information element including information for each contentitem retrieved from the provider server; (ii) creating a directorystructure to hold the generated content files; (iii) adding thegenerated content files to the directory structure; (iv) generatingsearch files in accordance with another schema, the another schemacomprising a control information element for job control information anda site information element for sites information; and (v) adding thegenerated search files to the directory structure; (3) storing thesearch files in a search database; (4) in response to user input,searching the search database for content associated with the streamingmedia being displayed; and (5) displaying the content resulting from thesearch while simultaneously displaying the streaming media.
 2. Thecomputer system of claim 1, wherein said streaming media is downloadedfrom the Internet.
 3. The computer system of claim 2, wherein saidcontent component includes a client Internet browser.
 4. The computersystem of claim 2, wherein said content associated with said streamingmedia includes content provider information.
 5. The computer system ofclaim 2, wherein said content associated with said streaming mediaincludes a link to a content provider resource.
 6. The computer systemof claim 2, wherein said content associated with said streaming mediaincludes teaser text for related content and a link to the relatedcontent.
 7. The computer system of claim 2, wherein said contentassociated with said streaming media includes an image related to saidcontent.
 8. The computer system of claim 2, wherein said contentassociated with said streaming media includes a link to expandedcontent.
 9. The computer system of claim 2, wherein said contentassociated with said streaming media includes a link to a propertyresource.